#ifndef SYS_DATA_H
#define SYS_DATA_H

#include <QFile>
#include <QSettings>
#include <QFileInfo>
#include <QMap>

class sys_Data //系统配置及数据文件获取
{
private:
    //私有单例对象
    static sys_Data * ptr_sysData;

    QSettings *m_setting;

    //私有构造，不允许创建对象
    sys_Data();


public:
    //获取单例对象
    static sys_Data * getInstance();

    static QStringList Theme;

    static QStringList Shell;

    ~sys_Data();

    //获取主题文件路径
    QString getThemePath();

    //设置主题文件路径
    void setThemePath(const QString& path);

    //获取主题样式表
    QString getThemeQss();

    int getMaxOpenFileHistoryRecord();

    void setMaxOpenFileHistoryRecord(int num);

    //获取历史打开文件记录
    QStringList getOpenFileHistory();

    //添加历史打开文件记录，与此同时最近打开文件目录将更新
    void addOpenFileHistory(const QString& path);

    //获取最近打开文件目录
    QString getOpenDirHistory();

    QString getShell();

    void setShell(const QString& shell);

    QString getCondaEnvir();

    void setCondaEnvir(const QString & condaEnvir);

    QString getAnalysisAlgPath();

    void setAnalysisAlgPath(const QString& analysisAlgPath);

};

#endif // SYS_DATA_H
